"""
lambda只是一个表达式，函数体比def简单很多，很多时候定义def，然后写一个函数太麻烦，这时候可以用lambda定义一个匿名函数
lambda的主体是一个表达式，而不是一个代码块，仅仅能在lambda表达式中封装有限的逻辑进去
lambda表达式是起到一个函数速写的作用，允许在代码内嵌入一个函数定义
"""

# lambda
result = list(filter(lambda x: True if x % 3 == 0 else False, range(100)))
print(result)

# 集合推导式，win
result = [x for x in range(100) if x % 3 == 0]
print(result)

"""
    匿名函数
        语法：
            lambda 参数: 表达式
        eg:
            lambda num1, num2: num1 + num2
        调用：
            调用方式是通过一个变量去接收
"""

# 定义了一个匿名函数
lambda num1, num2: num1 + num2

# 对匿名函数调用
sum = lambda num1, num2: num1 + num2

print(sum(1, 2))